ti = current->thread.traps + (error_code>>3);
if ( ti->dpl >= (regs->xcs & 3) )
{
- /* XXX Kill next conditional soon :-) XXX */
- if ( (error_code>>3)==0x80 )
- {
- printk("DIDN'T USE FAST-TRAP HANDLER FOR 0x80!!! :-(\n");
- BUG();
- }
gtb->flags = GTBF_TRAP_NOCODE;
gtb->cs = ti->cs;
gtb->eip = ti->address;
__asm__ __volatile__ (
"mov %%eax,%%cr3" : : "a" (pagetable_val(p->mm.pagetable)));
- memset(virt_startinfo_addr, 0, sizeof(virt_startinfo_addr));
+ memset(virt_startinfo_addr, 0, sizeof(*virt_startinfo_addr));
virt_startinfo_addr->nr_pages = p->tot_pages;
virt_startinfo_addr->shared_info = (shared_info_t *)meminfo->virt_shinfo_addr;
virt_startinfo_addr->pt_base = meminfo->virt_load_addr +
int target = VIF_DROP;
u8 *h_raw, *nh_raw;
- if ( len < 2 ) goto drop;
+ if ( len < ETH_HLEN ) goto drop;
nh_raw = data + ETH_HLEN;
switch ( ntohs(*(unsigned short *)(data + 12)) )
{
case ETH_P_ARP:
- if ( len < 28 ) goto drop;
+ if ( len < (ETH_HLEN + 28) ) goto drop;
target = net_find_rule((u8)ETH_P_ARP, 0, ntohl(*(u32 *)(nh_raw + 14)),
ntohl(*(u32 *)(nh_raw + 24)), 0, 0,
src_vif);
break;
case ETH_P_IP:
- if ( len < 20 ) goto drop;
+ if ( len < (ETH_HLEN + 20) ) goto drop;
h_raw = data + ((*(unsigned char *)(nh_raw)) & 0x0f) * 4;
/* XXX For now, we ignore ports. */